#ifndef ILLUMINATION_H_
#define ILLUMINATION_H_

class Illumination
{
private:
	bool doublesided;
	bool local;
	float ambient[4];
	float background[4];
public:
	Illumination(int doublesided, int local, double ambR, double ambG, double ambB, double ambA, double backR, double backG, double backB, double backA){
		this->doublesided = doublesided;
		this->local = local;
		ambient[0] = ambR;
		ambient[1] = ambG;
		ambient[2] = ambB;
		ambient[3] = ambA;
		background[0] = backR;
		background[1] = backG;
		background[2] = backB;
		background[3] = backA;	
	};

	void setAmbient(double r, double g, double b, double a){
		ambient[0] = r;
		ambient[1] = g;
		ambient[2] = b;
		ambient[3] = a;
	};

	void setBackground(double r, double g, double b, double a){
		background[0] = r;
		background[1] = g;
		background[2] = b;
		background[3] = a;
	};

	void setDoublesided(bool val) {doublesided = val;};
	void setLocal(bool val) {local = val;};

	float* getAmbient() {return ambient;};
	float* getBackground() {return background;};
	bool getDoubleSided() {return doublesided;};
	bool getLocal() {return local;};
};

#endif